/*Librairies*/
#include <fstream>
#include <string> 
#include <iostream>
#include <vector>
#include <sstream>
#include "calculcgh.h"

using namespace std;

//cette fonction additionne la nouvelle ligne a la somme precedante
void Addition_Cgh(vector<int> &sous_somme, vector<int> &ligne_a_add)
{
	for (int i=0; i < sous_somme.size(); i++)
	{
		sous_somme[i] = sous_somme[i] + ligne_a_add[i];
		cout<<sous_somme[i]<<" ";
	}
	cout<<endl;
}

//fonction principal de gestion
int Addition_principal (vector<vector<int> > &vector_complet)
{
	vector<int> sous_somme;//vector de la somme des lignes
	int l =0;

	if (vector_complet.size()==0)//si le vecteur est vide on retourne une erreur
	{
		return -1;
	}

	for(int i =0; i< vector_complet[0].size(); i++){//on remplis le vector sous somme avec la premiere ligne du tableau pour avoir la taille
		sous_somme.push_back(vector_complet[0][i]);
	}
	//appel du premier calcul CGH en //

	do{
		Addition_Cgh(sous_somme, vector_complet[0]);
		l++;

	}while (l < vector_complet.size());



	//calcul une fois que le fichier a ete finit de lire
	for(int j =1 ; j<vector_complet.size();j++)
	{
		fill(sous_somme.begin(),sous_somme.end(), 0);

		for(int k = j; k<vector_complet.size(); k++)
		{
			Addition_Cgh(sous_somme, vector_complet[k]); 
		}
	}


}
